1. Field of the Invention
The present invention is directed to computer systems including application servers generally, and, more particularly, to providing a computer software framework on an application server accommodating transparent porting of application software from a client computer to the application server and transparent execution by the application server rather than by the client computer of the application software.
2. Description of the Related Art
Computer systems having distributed architectures are known in the art. More particularly, client-server architectures are known in the art. In such computer systems, processing occurs either on the clients or on the server, typically referred to as a data base server. With processing occurring on either the clients or the server, the processing speed of whichever of the clients or the server executing the processing is hampered and therefore degrades. The degradation of processing speed makes the potential for adding additional processing intensive modules or functionality infeasible for some applications, such as the Standard Desktop Procurement System (SPS), thereby preventing full utilization of the particular application, such as the SPS. For example, the foregoing limitations of the related art do not allow some users, such as the U.S. Government, to realize the full capabilities of the SPS. More particularly, a U.S. Department of Defense (DoD) desktop procurement system needs to maintain a balance between a robust system to accommodate 80% of the procurement users and provide processing efficiencies for intensive processing, which needs are not fulfilled by computer systems of the related art.
An application server is a computer software application that runs in a client-server environment, but that is distinct from both the client and server applications. Typically, this application performs business rule or other processing that is computationally intensive at the request of the client.
Application servers, generally, are well known in the art. An example of an application server is IBM WebSphere Application Server(trademark), disclosed in About IBM WebSphere Application Server(trademark). Another example of an application server is disclosed in U.S. Pat. No. 5,893,106 to Brobst, et al., entitled Object Oriented Server Process Framework with Interdependent-Object Creation.
Computer systems having application servers provided logically between a data base server and clients are referred to as three tiered architectures, which are known in the art. FIG. 1 shows an example of a computer system 10 of the related art having a three-tiered architecture and including an application server 12. As shown in the computer system 10 of FIG. 1, the application server 12 is separate and distinct from clients 14-1 through 14-n and from data base server 16, but is provided logically between the clients 14 and the data base server 16. The application server 12 alleviates processing load from the data base server 16, and, further, provides additional functions such as load balancing and process scheduling within the computer system 10.
As shown in the computer system 10 of FIG. 1, one of the clients 14 transmits a request to the application server 12, which, in turn, reformats the request and transmits it in the form of an OB (outbound) request to the data base server 16. The data base server 16 returns data to the application server 12, which reformats the data into an answer transmitted to the requesting client 14.
Commercially-available software programs, such as native PowerBuilder(trademark) facilities, extend the function of the application server 12. Through the use of native PowerBuilder(trademark) facilities, application software written to be executed by the clients 14 (hereafter also referred to as client code) can be migrated to the application server 12 for execution thereby. Thus, instead of an architecture in which client computers 14 interface directly to data base server 16, as in a traditional client-server environment, client computers 14 interface to application server 12, which in turn interfaces to data base server 16 (as shown in FIG. 1).
A problem, though, with the use of native PowerBuilder(trademark) facilities is that the client code must be rewritten before the client code can be successfully ported from the client computers 14 to the application server 12.
Although native PowerBuilder(trademark) facilities insulate the client code from the architecture of the computer system to some degree, these facilities fail to make the architecture completely transparent to the client. The primary issue that prevents complete client transparency is that the client still must explicitly connect to an application server and ask the server to create a remote object. In addition, if a site wishes to install more than one application server in order to spread demand across multiple machines, the client would then need to be able to pick the appropriate application server. Thus, the client code must be rewritten before it can be successfully ported to and executed by the application servers of the related art.
Neither porting of client code from the clients to the application server nor execution of the client code by the application server rather than the client is transparent in the computer systems of the related art.
Also known in the art is a job scheduler, which stores a list of jobs with associated schedules, and ensures that the jobs are run according to that schedule.
Throughout the following paragraphs, terms such as job, process, and service are used interchangeably.
It is therefore an object of the present invention to provide an application server framework which overcomes the above-mentioned problems of the related art.
It is another object of the present invention to provide an interface to manage the Standard Desktop Procurement System (SPS) servers.
A further object of the present invention is to allow installation of the SPS client software to be independent of whether an application server is running.
Yet another object of the present invention is to accommodate job management initiated from a client.
Still another object of the present invention is to provide connection security, remote object creation, scheduling and batch processing, and remote server management functions.
A still further object of the present invention is to alleviate processing load from the clients and from the data base server.
Yet a further object of the present invention is to allow an application server to be installed and operational without altering client code.
A yet additional object of the present invention is to allow additional application software modules to be installed without degrading the performance of either the clients or the data base server.
A further object of the present invention is to provide a desktop procurement system maintaining a balance between a robust system to accommodate 80% of the procurement users and providing processing efficiencies for intensive processing.
The Application Server Framework (ASF) of the present invention provides SPS the efficiencies that the computer systems of the related art would not allow.
The Application Server Framework (ASF) eliminates the problems discussed above and also provides an interface to manage the SPS application servers by taking advantage of PowerBuilder(trademark) 6.0 functionality and tailoring it to the Department of Defense""s (DoD) needs. The ASF of the present invention allows installation of the SPS client software independently of whether an application server is running. Further, with the ASF of the present invention, a site can install the latest version of the SPS software without choosing to install an application server and then add the application server executing the ASF later, without making changes to the client code. In addition, the plug in capability of the ASF allows additional modules to be added to the Standard Procurement System (SPS) without degrading the performance of the client computers or the database server of the computer system in which the ASF is installed.
The ASF of the present invention accommodates job management initiated from the client computers. Using the job management option, authorized users create batch, on-demand or scheduled services. These services will be performed on any module that is xe2x80x9cplugged intoxe2x80x9d the ASF of the present invention.
The ASF of the present invention is a software system which, when installed on an application server, provides the above-mentioned features and functions to the computer system in which the application server is provided. The ASF of the present invention insulates client code in the form of, for example, computer modules implementing business processes, from communication with a data base server so that the client code can be ported from the client computer to the application server and execute without being altered. Accordingly, through the ASF of the present invention, the client code formerly isolated to being executed by the client computer on which it was installed is made available to all of the client computers interfacing to the application server to which the client code is ported.
With the ASF of the present invention, the computer system includes an application server and a job scheduler integrated with the application server that independently requests execution of services.
These together with other objects and advantages which will be subsequently apparent, reside in the details of construction and operation as more fully hereinafter described and claimed, reference being had to the accompanying drawings forming a part hereof, wherein like numerals refer to like parts throughout.